/*
  学习目标：setState第二个参数
  语法: setState({} , () => {会自动执行})
*/

import React, { Component } from 'react';

export default class App extends Component {
  state = {
    count: 0,
  };

  handleClick = () => {
    // 👎不推荐:
    // 1. 容易写出回调地域
    // 2. 不会形成合并的效果, 浪费render执行次数
    this.setState({ count: this.state.count + 1 }, () => {
      // 数据每次更新后, 会自动执行
      this.setState({ count: this.state.count + 2 }, () => {
        // 数据每次更新后, 会自动执行
        this.setState({ count: this.state.count + 3 });
      });
    });
  };

  render() {
    console.log('render执行了  ----->  ');
    return (
      <div>
        <h1>{this.state.count}</h1>
        <button onClick={this.handleClick}>点我</button>
      </div>
    );
  }
}
